\documentclass[twoside]{book}

% Packages required by doxygen
\usepackage{fixltx2e}
\usepackage{calc}
\usepackage{doxygen}
\usepackage[export]{adjustbox} % also loads graphicx
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\usepackage{multicol}
\usepackage{multirow}
\PassOptionsToPackage{warn}{textcomp}
\usepackage{textcomp}
\usepackage[nointegrals]{wasysym}
\usepackage[table]{xcolor}

% Font selection
\usepackage[T1]{fontenc}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\usepackage{amssymb}
\usepackage{sectsty}
\renewcommand{\familydefault}{\sfdefault}
\allsectionsfont{%
  \fontseries{bc}\selectfont%
  \color{darkgray}%
}
\renewcommand{\DoxyLabelFont}{%
  \fontseries{bc}\selectfont%
  \color{darkgray}%
}
\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}

% Page & text layout
\usepackage{geometry}
\geometry{%
  a4paper,%
  top=2.5cm,%
  bottom=2.5cm,%
  left=2.5cm,%
  right=2.5cm%
}
\tolerance=750
\hfuzz=15pt
\hbadness=750
\setlength{\emergencystretch}{15pt}
\setlength{\parindent}{0cm}
\setlength{\parskip}{3ex plus 2ex minus 2ex}
\makeatletter
\renewcommand{\paragraph}{%
  \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
    \normalfont\normalsize\bfseries\SS@parafont%
  }%
}
\renewcommand{\subparagraph}{%
  \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
    \normalfont\normalsize\bfseries\SS@subparafont%
  }%
}
\makeatother

% Headers & footers
\usepackage{fancyhdr}
\pagestyle{fancyplain}
\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
\fancyhead[CE]{\fancyplain{}{}}
\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
\fancyhead[CO]{\fancyplain{}{}}
\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
\fancyfoot[LE]{\fancyplain{}{}}
\fancyfoot[CE]{\fancyplain{}{}}
\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
\fancyfoot[CO]{\fancyplain{}{}}
\fancyfoot[RO]{\fancyplain{}{}}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand{\chaptermark}[1]{%
  \markboth{#1}{}%
}
\renewcommand{\sectionmark}[1]{%
  \markright{\thesection\ #1}%
}

% Indices & bibliography
\usepackage{natbib}
\usepackage[titles]{tocloft}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{5}
\makeindex

% Hyperlinks (required, but should be loaded last)
\usepackage{ifpdf}
\ifpdf
  \usepackage[pdftex,pagebackref=true]{hyperref}
\else
  \usepackage[ps2pdf,pagebackref=true]{hyperref}
\fi
\hypersetup{%
  colorlinks=true,%
  linkcolor=blue,%
  citecolor=blue,%
  unicode%
}

% Custom commands
\newcommand{\clearemptydoublepage}{%
  \newpage{\pagestyle{empty}\cleardoublepage}%
}

\usepackage{caption}
\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}

%===== C O N T E N T S =====

\begin{document}

% Titlepage & ToC
\hypersetup{pageanchor=false,
             bookmarksnumbered=true,
             pdfencoding=unicode
            }
\pagenumbering{roman}
\begin{titlepage}
\vspace*{7cm}
\begin{center}%
{\Large Ship\+C\+AD }\\
\vspace*{1cm}
{\large Generated by Doxygen 1.8.11}\\
\end{center}
\end{titlepage}
\clearemptydoublepage
\tableofcontents
\clearemptydoublepage
\pagenumbering{arabic}
\hypersetup{pageanchor=true}

%--- Begin generated contents ---
\chapter{Namespace Index}
\input{namespaces}
\chapter{Hierarchical Index}
\input{hierarchy}
\chapter{Class Index}
\input{annotated}
\chapter{File Index}
\input{files}
\chapter{Namespace Documentation}
\input{namespaceShipCAD}
\chapter{Class Documentation}
\input{classShipCAD_1_1BackgroundImage}
\input{structCalculateSplineArea}
\input{structShipCAD_1_1ChooseColorDialogData}
\input{structShipCAD_1_1ChooseLayerDialogData}
\input{structShipCAD_1_1ColorChanger}
\input{structShipCAD_1_1CompareControlPointZOrder}
\input{structShipCAD_1_1ControlFaceGrid}
\input{classShipCAD_1_1Controller}
\input{unionconvert__type__t}
\input{structShipCAD_1_1CPointGrid}
\input{structShipCAD_1_1CrosscurvesData}
\input{classShipCAD_1_1CurveFaceShader}
\input{classShipCAD_1_1DeleteElementsCollection}
\input{structShipCAD_1_1DelftSeriesResistance}
\input{classShipCAD_1_1DevelopedPatch}
\input{structDraftData}
\input{structdraw__intersection}
\input{classShipCAD_1_1Entity}
\input{structShipCAD_1_1ExtrudeEdgeDialogData}
\input{classShipCAD_1_1FaceShader}
\input{classShipCAD_1_1FileBuffer}
\input{classShipCAD_1_1FileReadError}
\input{classShipCAD_1_1FileSaveError}
\input{structShipCAD_1_1FirstCPointPairPredicate}
\input{structShipCAD_1_1FirstEdgePointPredicate}
\input{structShipCAD_1_1FirstFacePointPredicate}
\input{structShipCAD_1_1FirstPointPairPredicate}
\input{classShipCAD_1_1Flowline}
\input{classShipCAD_1_1HydrostaticCalc}
\input{structShipCAD_1_1HydrostaticsData}
\input{structShipCAD_1_1InsertPlaneDialogData}
\input{classShipCAD_1_1Intersection}
\input{classShipCAD_1_1IntersectionData}
\input{structShipCAD_1_1IntersectionFinder}
\input{structShipCAD_1_1IntersectionsDialogData}
\input{structShipCAD_1_1IntersectionSorter}
\input{structShipCAD_1_1IntersectLayersDialogData}
\input{structShipCAD_1_1JPEGImage}
\input{structShipCAD_1_1KAPERResistance}
\input{structShipCAD_1_1LayerDialogData}
\input{structShipCAD_1_1LayerProperties}
\input{structShipCAD_1_1LayerPropertiesForDialog}
\input{classShipCAD_1_1LightedFaceShader}
\input{classShipCAD_1_1LineShader}
\input{classShipCAD_1_1Marker}
\input{structMinMaxData}
\input{structShipCAD_1_1MirrorDialogData}
\input{classShipCAD_1_1MonoFaceShader}
\input{structShipCAD_1_1NewModelDialogData}
\input{classShipCAD_1_1NURBSurface}
\input{classOpenGLWindow}
\input{classOrderedPointMap}
\input{classOrderedPointMapIterator}
\input{classShipCAD_1_1ParseError}
\input{structPatchIntersection}
\input{structPatchPointPred}
\input{structShipCAD_1_1PatchPoints}
\input{structShipCAD_1_1PickRay}
\input{classShipCAD_1_1Plane}
\input{structPointData}
\input{classPointerVector}
\input{structShipCAD_1_1PointGrid}
\input{classPool}
\input{classShipCAD_1_1Preferences}
\input{structShipCAD_1_1PreferencesDialogData}
\input{classShipCAD_1_1ProjectSettings}
\input{structShipCAD_1_1ProjectSettingsDialogData}
\input{structShipCAD_1_1RotateDialogData}
\input{classShipCAD_1_1Shader}
\input{classShipCAD_1_1ShipCADModel}
\input{classShipCAD_1_1Spline}
\input{structSplineExtents}
\input{structStationAreaCalculation}
\input{classShipCAD_1_1SubdivisionBase}
\input{classShipCAD_1_1SubdivisionControlCurve}
\input{classShipCAD_1_1SubdivisionControlEdge}
\input{classShipCAD_1_1SubdivisionControlFace}
\input{classShipCAD_1_1SubdivisionControlPoint}
\input{classShipCAD_1_1SubdivisionEdge}
\input{classShipCAD_1_1SubdivisionFace}
\input{classShipCAD_1_1SubdivisionLayer}
\input{classShipCAD_1_1SubdivisionPoint}
\input{classShipCAD_1_1SubdivisionSurface}
\input{structShipCAD_1_1SurfaceCheckResult}
\input{structSurfIntersectionData}
\input{classShipCAD_1_1TempVarChange}
\input{structTriangle}
\input{classShipCAD_1_1UndoObject}
\input{classShipCAD_1_1Viewport}
\input{classShipCAD_1_1ViewportContextEvent}
\input{classShipCAD_1_1ViewportView}
\input{classShipCAD_1_1ViewportViewBodyplan}
\input{classShipCAD_1_1ViewportViewPerspective}
\input{classShipCAD_1_1ViewportViewPlan}
\input{classShipCAD_1_1ViewportViewProfile}
\input{classShipCAD_1_1Visibility}
\input{structVolumeCalc}
\input{structZebraIntersection}
\chapter{File Documentation}
\input{backgroundimage_8cpp}
\input{backgroundimage_8h}
\input{controlfacegrid_8h}
\input{controller_8cpp}
\input{controller_8h}
\input{developedpatch_8cpp}
\input{developedpatch_8h}
\input{dialogdata_8cpp}
\input{dialogdata_8h}
\input{entity_8cpp}
\input{entity_8h}
\input{exception_8h}
\input{filebuffer_8cpp}
\input{filebuffer_8h}
\input{flowline_8cpp}
\input{flowline_8h}
\input{hydrostaticcalc_8cpp}
\input{hydrostaticcalc_8h}
\input{intersection_8cpp}
\input{intersection_8h}
\input{marker_8cpp}
\input{marker_8h}
\input{mempool_8h}
\input{nurbsurface_8cpp}
\input{nurbsurface_8h}
\input{openglwindow_8cpp}
\input{openglwindow_8h}
\input{orderedmap_8h}
\input{plane_8cpp}
\input{plane_8h}
\input{pointervec_8h}
\input{pointgrid_8h}
\input{predicate_8h}
\input{preferences_8cpp}
\input{preferences_8h}
\input{projsettings_8cpp}
\input{projsettings_8h}
\input{resistance_8h}
\input{shader_8cpp}
\input{shader_8h}
\input{shipcadlib_8cpp}
\input{shipcadlib_8h}
\input{shipcadmodel_8cpp}
\input{shipcadmodel_8h}
\input{spline_8cpp}
\input{spline_8h}
\input{subdivbase_8cpp}
\input{subdivbase_8h}
\input{subdivcontrolcurve_8cpp}
\input{subdivcontrolcurve_8h}
\input{subdivedge_8cpp}
\input{subdivedge_8h}
\input{subdivface_8cpp}
\input{subdivface_8h}
\input{subdivlayer_8cpp}
\input{subdivlayer_8h}
\input{subdivpoint_8cpp}
\input{subdivpoint_8h}
\input{subdivsurface_8cpp}
\input{subdivsurface_8h}
\input{tempvar_8h}
\input{undoobject_8cpp}
\input{undoobject_8h}
\input{utility_8cpp}
\input{utility_8h}
\input{version_8cpp}
\input{version_8h}
\input{viewport_8cpp}
\input{viewport_8h}
\input{viewportview_8cpp}
\input{viewportview_8h}
\input{visibility_8cpp}
\input{visibility_8h}
%--- End generated contents ---

% Index
\backmatter
\newpage
\phantomsection
\clearemptydoublepage
\addcontentsline{toc}{chapter}{Index}
\printindex

\end{document}
